home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / ODFDev / Draw / Sources / DrawCont.h < prev    next >
Encoding:
Text File  |  1996-09-17  |  5.9 KB  |  208 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                DrawCont.h
  4. //    Release Version:    $ ODF 2 $
  5. //
  6. //    Author:                Mary Boetcher
  7. //
  8. //    Copyright:            (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  9. //
  10. //========================================================================================
  11.  
  12. #ifndef DRAWCONT_H
  13. #define DRAWCONT_H
  14.  
  15. #ifndef CONTENT_H
  16. #include "Content.h"
  17. #endif
  18.  
  19. //========================================================================================
  20. //    Forward Declarations
  21. //========================================================================================
  22.  
  23. class CDrawPart;
  24. class CDrawSelection;
  25. class CDrawPromise;
  26. class CDrawSubscribeLink;
  27. class CGroupShape;
  28.  
  29. //========================================================================================
  30. //    class CDrawPartContent
  31. //========================================================================================
  32.  
  33. class CDrawPartContent : public CDrawContent
  34. {
  35. public:
  36.   
  37.       FW_DECLARE_AUTO(CDrawPartContent)
  38.   
  39.     CDrawPartContent(Environment* ev, CDrawPart* part);
  40.     virtual ~CDrawPartContent();
  41.  
  42.     virtual void        PostInternalizeShape(Environment* ev, 
  43.                                      const FW_CPoint& offset, 
  44.                                      CBaseShape* shape, 
  45.                                      short index);
  46.  
  47.     CBaseShape*            NewShape(Environment* ev, unsigned short shapeType);
  48.  
  49.     FW_Boolean            MoveForward(Environment *ev);
  50.     FW_Boolean            MoveBackward(Environment *ev);
  51.     void                MoveToFront(Environment *ev);
  52.     void                MoveToBack(Environment *ev);
  53.     void                ExtractSelection(Environment* ev, CShapeCollection* extract);
  54.     virtual FW_CPromise* NewPromise(Environment* ev, 
  55.                             ODStorageUnit* su, 
  56.                             FW_StorageKinds storageKind, 
  57.                             FW_CCloneInfo* cloneInfo);
  58.  
  59. };
  60.  
  61. //========================================================================================
  62. //    class CDrawSelectionContent
  63. //========================================================================================
  64.  
  65. class CDrawSelectionContent : public CDrawContent
  66. {
  67. public:
  68.   
  69.       FW_DECLARE_AUTO(CDrawSelectionContent)
  70.   
  71.     CDrawSelectionContent(Environment* ev, 
  72.                         CDrawPart* part, 
  73.                         CDrawSelection* selection);
  74.     virtual ~CDrawSelectionContent();
  75.  
  76.     virtual void         PostInternalizeShape(Environment* ev, 
  77.                                     const FW_CPoint& offset, 
  78.                                     CBaseShape* shape, 
  79.                                     short index);
  80.  
  81.     virtual void         SingleEmbeddedFrameInternalized(Environment* ev, 
  82.                                       FW_CEmbeddingFrame* scopeFrame,
  83.                                       ODPart* embeddedPart, 
  84.                                       ODFrame* embeddedFrame,
  85.                                       ODShape* suggestedShape,
  86.                                       ODTypeToken viewType);
  87.  
  88.     virtual FW_CPromise* NewPromise(Environment* ev, 
  89.                                       ODStorageUnit* su, 
  90.                                       FW_StorageKinds storageKind, 
  91.                                       FW_CCloneInfo* cloneInfo);
  92.  
  93.     virtual ODShape*     AcquireSuggestedFrameShape(Environment* ev);
  94.  
  95.   private:
  96.     CDrawSelection*        fDrawSelection;
  97. };
  98.  
  99. //========================================================================================
  100. //    class CDrawUndoContent
  101. //========================================================================================
  102.  
  103. class CDrawUndoContent : public CDrawContent
  104. {
  105. public:
  106.   
  107.       FW_DECLARE_AUTO(CDrawUndoContent)
  108.   
  109.     CDrawUndoContent(Environment* ev, CDrawPart* part, CDrawSelection* selection);
  110.     virtual ~CDrawUndoContent();
  111.  
  112.     // ----- New API -----
  113.     void                 RemoveShapeSelection(Environment *ev);
  114.     void                 RestoreShapeSelection(Environment *ev);
  115.     void                 DeleteSavedShapes(Environment *ev);
  116.  
  117.     void                 RemoveFromLinks(Environment* ev);
  118.     void                 RestoreLinks(Environment* ev);
  119.     void                DeleteEmptyLinkSources(Environment* ev);
  120.     void                DeleteSavedShapesAndLinks(Environment* ev);
  121.  
  122. private:
  123.     CDrawSelection*        fDrawSelection;
  124. };
  125.  
  126. //========================================================================================
  127. //    class CDrawPromiseContent
  128. //========================================================================================
  129.  
  130. class CDrawPromiseContent : public CDrawContent
  131. {
  132.   public:
  133.   
  134.       FW_DECLARE_AUTO(CDrawPromiseContent)
  135.   
  136.     CDrawPromiseContent(Environment* ev, 
  137.                                         CDrawPart* part, 
  138.                                         CDrawContent* content);
  139.     virtual ~CDrawPromiseContent();
  140.  
  141.     virtual FW_Boolean     IsOKtoWrite(Environment* ev, CBaseShape* shape);
  142.  
  143.     void                PromiseShape(Environment* ev, 
  144.                             FW_StorageKinds storageKind, 
  145.                             FW_Boolean state);
  146.  
  147.     FW_CRect            GetSelectedRect() const
  148.                             {return fSelectedRect;}
  149.   private:
  150.     CDrawPromise*    fPromise;
  151.     FW_CRect        fSelectedRect;
  152. };
  153.  
  154. //========================================================================================
  155. //    class CDrawLinkSourceContent
  156. //========================================================================================
  157.  
  158. class CDrawLinkSourceContent : public CDrawPromiseContent
  159. {
  160.   public:
  161.   
  162.       FW_DECLARE_AUTO(CDrawLinkSourceContent)
  163.   
  164.     CDrawLinkSourceContent(    Environment* ev, 
  165.                                                 CDrawPart* part, 
  166.                                                 CDrawContent* selectedContent,
  167.                                                 CDrawPublishLink* linkSrc);
  168.     virtual ~CDrawLinkSourceContent();
  169.  
  170.     
  171.     virtual FW_CPromise* NewPromise(Environment* ev,  ODStorageUnit* su, FW_StorageKinds storageKind,  FW_CCloneInfo* cloneInfo); //Override
  172.  
  173.   private:
  174.       
  175.     CDrawPublishLink* fLinkSource;
  176.       
  177. };
  178.  
  179. //========================================================================================
  180. //    class CDrawLinkContent
  181. //========================================================================================
  182.  
  183. class CDrawLinkContent : public CDrawContent
  184. {
  185.   public:
  186.   
  187.       FW_DECLARE_AUTO(CDrawLinkContent)
  188.   
  189.     CDrawLinkContent(Environment* ev, CDrawPart* part, CDrawSubscribeLink* link);
  190.     CDrawLinkContent(Environment* ev, CDrawSubscribeLink* link, CDrawPart* part, CDrawLinkContent* content);
  191.     virtual ~CDrawLinkContent();
  192.                                         
  193.     virtual void        SingleEmbeddedFrameInternalized(Environment* ev,
  194.                                 FW_CEmbeddingFrame* scopeFrame,
  195.                                 ODPart* odEmbeddedPart, 
  196.                                 ODFrame* odEmbeddedFrame,
  197.                                 ODShape* suggestedShape,
  198.                                 ODTypeToken viewType);
  199.  
  200.     void                GroupShapes(Environment* ev, CGroupShape* group);
  201.  
  202.   private:
  203.     CDrawSubscribeLink*    fLink;
  204. };
  205.  
  206.  
  207. #endif
  208.